package com.lu.banktrade.config;


import com.lu.banktrade.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import javax.annotation.Resource;

/**
 * springboot配置类
 * 一般用来配置拦截器或者跨域配置。。
 *
 * 过滤器（filter） 与拦截器（Interceptor）的区别：
 * 相同点：执行都在controller（servlet）之前
 * 不同点：
 *      1.技术提供方：过滤器->servlet提供 拦截器 ->spring
 *      2.执行顺序：先执行过滤器 后执行拦截器
 *      3.拦截力度：过滤器拦截力度粗 ->编码转换，时间格式转化
 *                拦截器拦截力度细 ->登录认证，接口日志记录
 *                
 *
 * @author
 * 拦截器
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Resource
    LoginInterceptor loginInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //添加拦截器
        registry.addInterceptor(loginInterceptor)
                //添加拦截路径
                .addPathPatterns("/**")
                //排除路劲
                .excludePathPatterns("/login");
    }
}
